ALERT 2," SAVE YOUR DICTIONARY ? ",3," SAVE | QUIT |CANCEL",l%
IF l%=2
to_edit
ENDIF
IF l%=1
dictionary_save
ENDIF
'
RETURN
'
> PROCEDURE dn_page
'
current_cursol
'
refline1%=refline%
i%=DIV(refline%,pageline%)
refline2%=(i%+1)*pageline%
IF refline2%+14>maxline%
refline2%=maxline2%-14
ENDIF
IF refline1%<>refline2%
screen_add%=XBIOS(2)
FOR refline%=refline1%+1 TO refline2%
BMOVE screen_add%+3840,screen_add%+2400,20000
i%=14
offset%=(1440*i%)+2400
i1%=i%+refline%
FOR j%=0 TO max_xposition%
chara1%=bun&(j%,i1%)-&H2000
' offset%=(1440*i%)+(j%*2)+2402
ADD offset%,2
asm%=V:asm$
~C:asm%(L:screen%,L:V:c$(chara1%),L:offset%)
NEXT j%
TEXT 300,18,RIGHT$(" "+STR$(DIV(kypos%+refline%,pageline%)+1),3)+" PAGE "+RIGHT$(" "+STR$(MOD(kypos%+refline%,pageline%)+1),3)+" LINE "+RIGHT$(" "+STR$(kxpos%+1),2)+" COLUMN"
NEXT refline%
DEC refline%
ENDIF
'
current_cursol
'
RETURN
'
> PROCEDURE up_page
'
current_cursol
'
refline1%=refline%
i%=DIV(refline%,pageline%)
j%=MOD(refline%,pageline%)
IF j%<>0
refline2%=i%*pageline%
ELSE
IF i%=0
refline2%=0
ELSE
refline2%=(i%-1)*pageline%
ENDIF
ENDIF
IF refline1%<>refline2%
screen_add%=XBIOS(2)
FOR refline%=refline1%-1 DOWNTO refline2%
BMOVE screen_add%+2400,screen_add%+3840,20000
i%=0
offset%=(1440*i%)+2400
FOR j%=0 TO max_xposition%
chara1%=bun&(j%,i%+refline%)-&H2000
ADD offset%,2
asm%=V:asm$
~C:asm%(L:screen%,L:V:c$(chara1%),L:offset%)
NEXT j%
TEXT 300,18,RIGHT$(" "+STR$(DIV(kypos%+refline%,pageline%)+1),3)+" PAGE "+RIGHT$(" "+STR$(MOD(kypos%+refline%,pageline%)+1),3)+" LINE "+RIGHT$(" "+STR$(kxpos%+1),2)+" COLUMN"
ALERT 1," END CHARACTER ALREADY EXIST. | "+STR$(DIV(ec_y%,pageline%)+1)+" PAGE "+STR$(MOD(ec_y%,pageline%)+1)+" LINE "+STR$(ec_x%+1)+" COLUMN | DELETE END CHARACTER ? ",2," OK |CANCEL",l%
IF l%=1
bun&(ec_x%,ec_y%)=0
end_chara_e%=0
IF ec_y%<(refline%+15) AND ec_y%>=(refline%)
i2%=kxpos%
j2%=kypos%
kxpos%=ec_x%
kypos%=ec_y%-refline%
chara1%=spacechara%
chara2%=0
tr%=1
display_hira
tr%=0
kxpos%=i2%
kypos%=j2%
end_chara_e%=0
ENDIF
ENDIF
ELSE
chara1%=end_chara%
chara2%=0
j2%=kypos%+refline%
i2%=kxpos%
tr%=1
display_hira
tr%=0
ec_y%=j2%
ec_x%=i2%
end_chara_e%=1
IF kxpos%<>0
inc_yposition
ENDIF
ENDIF
ENDIF
'
current_cursol
'
RETURN
'
> PROCEDURE bun_save
'
PRINT AT(3,23);"SAVE !"
'
IF end_chara_e%=1
end_c%=1
end_x%=ec_x%
end_y%=ec_y%
ELSE
end_c%=0
ENDIF
'
IF end_c%=0
ALERT 2," END CHARACTER NOT FOUND. | SAVE ALL LINES("+STR$(maxline%)+"LINES) ? ",2," SAVE |CANCEL",l%
IF l%=1
end_x%=max_xposition%
end_y%=maxline%
bun&(max_xposition%,maxline%)=end_chara%
end_c%=1
ENDIF
ENDIF
'
IF end_c%=1
FILESELECT "\*.KAN","",file_1$
l%=1
'
IF file_1$="" OR file_1$="\"
l%=2
ENDIF
'
IF INSTR(file_1$,".")=0
file_1$=file_1$+".KAN"
ENDIF
'
IF EXIST(file_1$)
ALERT 2," FILE ALREADY EXIST ! | OVER WRITE ? ",1," OK |CANCEL",l%
TEXT 300,18,RIGHT$(" "+STR$(DIV(kypos%+refline%,pageline%)+1),3)+" PAGE "+RIGHT$(" "+STR$(MOD(kypos%+refline%,pageline%)+1),3)+" LINE "+RIGHT$(" "+STR$(kxpos%+1),2)+" COLUMN"
RETURN
'
> PROCEDURE program_name
'
DIM title%(15)
RESTORE cdata_1
FOR i%=0 TO 14
READ title%(i%)
NEXT i%
cdata_1:
DATA &H213E,&H3B30,&H472F,&H3F32,&H4240,&H4F3A,&H213E
DATA &H2121,&H467C,&H4B5C,&H386C,&H256F,&H213C,&H2557,&H256D